package com.qfedu.knowledge.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qfedu.knowledge.entity.enums.SubjectTypeEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @ClassName QuestionInfoVO
 * @Author ykx
 * @Date 2024/1/4 10:30
 * @Version 1.0
 */
@Data
public class QuestionInfoVO {
    /**
     * 主键id
     */
    private Long id;

    /**
     * 编码
     */
    private String code;

    /**
     * 来源
     */
    private Integer source;

    /**
     * 题目
     */
    private String question;

    /**
     * 选项A
     */
    private String optionA;

    /**
     * 选项B
     */
    private String optionB;

    /**
     * 选项C
     */
    private String optionC;

    /**
     * 选项D
     */
    private String optionD;

    /**
     * 答案选项
     */
    private String answerOption;

    /**
     * 答案
     */
    private String answer;

    /**
     * 备注
     */
    private String remark;

    /**
     * 类型
     */
    private Integer type;

    /**
     * 类型名
     */
    private String typeName;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationDate;

    /**
     * 最后一次更新人
     */
    private Integer lastUpdateBy;

    /**
     * 最后一次更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdateDate;

    /**
     * 掌握的题目
     */
    private Long master;

    /**
     * master_id
     */
    private Long masterId;

    public void setType(Integer type) {
        this.type = type;
        this.setTypeName(SubjectTypeEnum.getValueByCode(type));
    }

}
